iT邦幫忙

DAY 24
0

openSUSE Linux 30 天系列 第 24

2014IT鐵人賽-24-SSH

  • 分享至 

  • xImage
  •  

2014IT鐵人賽-24-SSH

今天一樣使用 EasyCloud 雲端簡單龍的帳戶, 那就登入 https://gemini.nchc.org.tw/ 來開始練習openSUSE 基礎指令吧.

今天練習SSH的管理吧, 因為是SSH 所以這次的練習, 要在EasyCloud 雲端簡單龍的介面再建立另外一台 openSUSE 13.1. 這樣我們就有兩台虛擬機器, 分別是 server1 and server2.

筆記部份:

在Linux 的管理上面, 通常在文字介面的管理, 一般使用 Secure Shell ( SSH ) 來進行主機的管理. 因為具加密的特性, 所以普遍的被應用, 在 Windows 的用戶端, 一般常見使用 putty 來進行連線.

設定檔介紹如下

ssh client 設定檔 /etc/ssh/ssh_config

sshd 設定檔 /etc/ssh/sshd_config

SSH 可以驗證遠端主機是否是自己當初連線的主機.

ssh 用戶端與主機的驗證

client 端存放於 ~/.ssh/known_hosts

與server端 /etc/ssh/ssh_host_rsa_key.pub

除了使用 PAM 帳號密碼的方式登入, 也可以使用金鑰登入伺服器

*將用戶端的公鑰 複製到 伺服器上使用者的 ~/.ssh/authorized_keys

有關於第二把公鑰以後的附加

可以使用 ssh-copy-id 的指令來輕鬆完成

ssh-copy-id -i /home/user4/.ssh/id_dsa.pub(公鑰) 使用者@主機的IP

有關於連線的協定

可以修改/etc/ssh/sshd_config 設定來指定

Protocol 2 <只使用 SSH2>

PermitRootlogin no <不允許root直接登入ssh>

如果要透過 X 來傳送圖形, 用戶端可以藉由

#ssh -X 遠端IP <使用X forwarding>

#ssh -Y 遠端IP <使用X forwarding>

開始練習吧

Lab: 以SSH方式登入到伺服器不需要需入密碼

目的: Server1使用者user3 以及 user4

以SSH方式以使用者max身份登入到Server2 不需要輸入密碼驗證

請於Server2

#su - max -c "mkdir /home/max/.ssh" <建立.ssh資料夾存放金鑰>

請於Server1

#useradd -m user3 <新增使用者>

#useradd -m user4 <新增使用者>

server1:~ # su - user3 <切換為使用者user3>

user3@server1:~> ssh-keygen -d <以DSA方式建立ssh 金鑰>

Generating public/private dsa key pair.

Enter file in which to save the key (/home/user3/.ssh/id_dsa): <儲存位置:請輸入Enter>

Created directory '/home/user3/.ssh'.

Enter passphrase (empty for no passphrase): <金鑰密碼:請輸入Enter>

Enter same passphrase again: <金鑰密碼:請輸入Enter>

Your identification has been saved in /home/user3/.ssh/id_dsa.

Your public key has been saved in /home/user3/.ssh/id_dsa.pub.

The key fingerprint is:

8d:e5:24:eb:98:71:f4:c6:01:96:fc:78:23:f8:d0:02 user3@server1

user3@server1:~> cd /home/user3/.ssh <切換到使用者家目錄下.ssh目錄>

user3@server1:~/.ssh> ls <應該會看到公鑰及私鑰>

id_dsa id_dsa.pub

將公鑰複製到 Server2

user3@server1:~/.ssh> scp id_dsa.pub max@主機的IP:/home/max/.ssh/authorized_keys

The authenticity of host '192.168.235.129 (192.168.235.129)' can't be establishe d.

RSA key fingerprint is 10:a4:50:0f:00:06:98:e3:c2:56:d4:0e:3f:03:d1:65.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.235.129' (RSA) to the list of known hosts.

Password: <請輸入 max 的密碼>

id_dsa.pub 100% 1115 1.1KB/s 00:00

user3@server1:~/.ssh> logout <登出>

接下來針對使用者 user4 來建立金鑰

server1:~ # su - user4 <切換為使用者user4>

user4@server1:~> ssh-keygen -d <以DSA方式建立ssh 金鑰>

Generating public/private dsa key pair.

Enter file in which to save the key (/home/user4/.ssh/id_dsa): <儲存位置:請輸入Enter>

Created directory '/home/user4/.ssh'.

Enter passphrase (empty for no passphrase): <金鑰密碼:請輸入Enter>

Enter same passphrase again: <金鑰密碼:請輸入Enter>

Your identification has been saved in /home/user4/.ssh/id_dsa.

Your public key has been saved in /home/user4/.ssh/id_dsa.pub.

The key fingerprint is:

c8:0c:56:cb:6c:7a:1f:1d:5f:e8:6e:09:83:f0:0b:81 user4@server1

user4@server1:~> cd /home/user4/.ssh/ <切換到使用者家目錄下.ssh目錄>

將公鑰複製到 Server2

user4@server1:~/.ssh> ssh-copy-id -i /home/user4/.ssh/id_dsa.pub max@主機的IP

The authenticity of host '192.168.3.128 (192.168.3.128)' can't be established.

RSA key fingerprint is 4e:52:bf:ad:59:bf:59:33:af:62:d2:c7:72:40:78:e0.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.3.128' (RSA) to the list of known hosts.

Password: <請輸入 max 的密碼>

Now try logging into the machine, with "ssh 'max@192.168.3.128'", and check in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

測試:

請於 Server2 上面觀察

#cat /home/max/.ssh/authorized_keys

請於Server1 上面

以user3 及 user4身份

ssh max@主機的IP

或是

ssh -l max 主機的IP

Lab:

ssh 只接受key驗證, 不接受密碼驗證,並只接受SSH Version2 連線

Client ( Server1 ):

之前練習已經有做過key驗證

#su - user4 <切換使用者 user4>

>ssh -l max 遠端主機的IP <當初有交換max的key驗證,故不要求提供密碼>

遠端> exit <登出遠端,回到本機>

>ssh -l root 遠端主機的IP <當初沒有交換root的key驗證,故要求提供密碼>

<此時除了key驗證還有密碼驗證>

請於Server ( Server2 ) :

修改相關設定

#vi /etc/ssh/sshd_config <修改相關設定>

UsePAM no

PasswordAuthentication no

Protocol 2

#rcsshd restart <重新啟動sshd>

測試

請於Client端

#su - user4 <切換使用者 user4>

>ssh -l root 遠端主機的IP <當初沒有交換root的key驗證, 直接拒絕>

請將設定回復預設值

#vi /etc/ssh/sshd_config <修改相關設定>

UsePAM yes

PasswordAuthentication no

Protocol 2

#rcsshd restart <重新啟動sshd>

Fun with Day 24 ~


上一篇
2014IT鐵人賽-23-管理 linux moudle
下一篇
2014IT鐵人賽-25-syslog
系列文
openSUSE Linux 30 天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言